************************************************************************************
PART 1

Differences in primary SSA (05) and VSA (05) routines
************************************************************************************


1
----------------------
Following the 9C bank pointer:

A5 BF 0D 65 05 (03)
AD 65 05 05 BF (05)

An inverse effect. Both are followed by a BMI.
This has to do with the death of the player.
----------------------


2
----------------------
Preceding 20 9D AF:

03 has a BNE check on $78 (if screen is locked). 
If screen locked, an additional JSR is not activated. (20 75 D1)

05 has two JSRs. 20 0B CB and 20 70 85. The first is used as a 
----------------------


3
----------------------
Following 20 E3 FD:

20 AA 9F (03)
20 62 82, 20 D6 9E (05)

Two different sets of routines before termination of both routines.
----------------------


************************************************************************************

PART 2

the first big difference.
************************************************************************************

The first big difference is:
----------------------------------------------------
20 75 D1 (03)

vs

20 0B CB, 20 70 85 (05)
----------------------------------------------------

I believe this is what graphically occurs when the screen is scrolling.

Let's travel to 20 75 D1 (03) first.

LDA player travelling direction (PTD)
CMP screen still 
BNE #02
LDA $A1 (set if $65 == 02; let's call this SSI-2 "side scroll indicator 2")
STA $A0 (this is for horizontal areas only; must be a side scroll indicator "SSI-1")
LDA (PTD)
STA (SSI-2)
JSR $D325 [1]*
LDA (SSI-1)
CMP stand still
BEQ #0D
LDA $67 (not sure about $67)
BEQ #03
DEC $67
RTS ...
--
LDA $1A
AND #01
BNE #01
RTS ... Not sure what this is about yet. Usually this RTS is bypassed.
--
JSR $C905 [2]* ...hoooo boy
LDY (SSI-1)
LDA $0059 with Y. Now I see why $65=02 was chosen as "still"
BMI #F5 ... Scroll stoppage if $59 == 00
CMP $7B ... what is this?
BCS #F1 ... 2 conditions to be sent back to the same spot.
LDA Y$005B. This is different in SSA; counts up to 06...
CMP #06 ... ...which may be the # of TSA blocks to be loaded left and right.
BCC #01
RTS ...
--
I think once it changes to 06, Several blocks of graphics are loaded in a column 
form. 6 TSA blocks will wait at the next portion of the screen depending on the 
PDT. All of this code builds up to this.


--------------------------------------------------------------------------------
[1] Code at $D325:

LDA $56 ...screen page position (SPP, this is turning into alphabet soup)
STA $08
LDY (PTD)
BEQ #0F (Goto if PTD = left)
DEY
BEQ #08 (Goto if PTD = right)
LDA $56 (Goto if PTD = still)
SEC
INC $08
STA $6E
RTS

--Branched code if player is making the screen move.
LDA $00
BEQ #02
LDA #FF
STA $00 ...Some $00 stuff
LDA $58 ...Not sure what $58 is yet, it's usually 00.
CLC
ADC $509 (A is added with $509 in case you forget what an ADC is)
STA $58
LDA $56
ADC $4F2
STA $56
LDA $57 ...(screen page #)
ADC $00 ...(huh)
STA $57 ...(screen)
BPL #0A ...(everything is zappo if $57=00, scrolling stops)
LDA #00
STA $56, 57, 58 ...(everything's 00 aka zappo)
BEQ #0A ...(skip this next "zappo" command, very vital)
CMP $71 ...(If screen page # is the last one...)
BNE #06 ...(then zappo!)
LDA #00 ...zappo
STA $56
STA $58
LDA SPP ...screen page position (SPP, this is turning into alphabet soup)
AND #E0 
CMP $66 ...God what is this?
BEQ #BD ...If SPP != $66, REturn to "if PDT == still"

--------------------------------------------------------------------------------


--------------------------------------------------------------------------------
[2] Code at $C905

LDY Stage#
CMP Y$0E .. if final stage
BEQ #32 ... Go if stage is final
CMP Y$0D .. if second to final stage
BEQ #06 ... Go to 06 ahead
LDA Y$C94B. TABLE: bunch of 90s, bunch of 8Es, bunch of 8Cs etc. (these are bank #s)
JMP $EcE2 . Usually, this location is to load with the bank number
--
Other code here for if stage is 0D, 0E
--------------------------------------------------------------------------------


************************************************************************************

PART 3

What actually changes
************************************************************************************

Going up:    59, 5B
Going down:  5A, 5C

59, 5B decrease.
5A, 5C increase.

Start at FF 06 1D 1B.

0B .. 0D ..
.. 12 .. 0B

Visual scrolling has more to do with than just $59-5C





